package com.guli.gulimall.search.vo;

import lombok.Data;
import lombok.ToString;

import java.util.List;

/**
 * 封装页面所有可能的检索条件
 * 例如以下格式：
 * catalog3Id=225&keyword=小米&sort=saleCount_desc
 */
@Data
@ToString
public class SearchParam {

    //全文匹配
    private String keyword;
    //三级分类的ID
    private Long catalog3Id;
    /**
     * 排序条件（三种）：
     * sort=saleCount_asc/desc  根据销量排序
     * sort=skuPrice_asc/desc   根据价格排序
     * sort=hotScore_asc/desc   根据热度分排序
     */
    private String sort;
    /**
     * 过滤条件：
     * hasStock(是否有货)、skuPrice区间（价格区间）、brandId(品牌ID)、attrs(属性)
     * hasStock=0/1
     * skuPrice=1_500/_500/500_ (1块到500、500以内、500以上)
     * brandId=1
     * attrs 属性:
     * attrs=1_其他:安卓  1号属性等于其他或者等于安卓的商品
     * attrs=2_5寸:6寸    2号属性等于5寸或者等于6寸的商品
     * 。。。。
     * 多属性就是集合list<String>
     */
    private Integer hasStock = 1;//是否有货 0:无库存 1:有库存
    private String skuPrice;//价格区间
    private List<Long> brandId;//品牌ID,可以多选
    private List<String> attrs;//属性

    private Integer pageNum = 1;//页码

    /*** 原生所有查询属性*/
    private String _queryString;
}
